// 存储火车票订单相关的全局数据
import { createSlice } from '@reduxjs/toolkit'

const orderSlice = createSlice({
  // 切片的唯一名称
  name: 'order',
  // 切片中的初始数据
  initialState: {
    // 乘车人
    passengers: [
      { name: '张飞', idcard: '522530199208180048' },
      { name: '王飞', idcard: '522530199208180048' }
    ]
  },
  // 用来变更初始数据
  reducers: {
    // 将来，action.payload 可以是 {}，或 { name, idcard }
    add(state, action) {
      state.passengers.push(action.payload)
    },
    // 将来，action.payload 是要删除的乘车人的索引
    remove(state, action) {
      // 根据索引，移除对应的乘车人
      const index = action.payload
      state.passengers = state.passengers.filter((item, i) => i !== index)
    }
  }
})

// 把切片的 reducer 默认导出
export default orderSlice.reducer
export const { add, remove } = orderSlice.actions
